<?
class cadeiras {
	private $t_cadeiras;
	private $registry;
		
	function __construct($registry, $cadeiras) {
        $this->registry = $registry;
		$this->t_cadeiras = $cadeiras;
    }
	

	function lista()
	{
		$query = "SELECT * FROM " . $this->t_cadeiras;
		$result = mysql_query($query);
		if(!$result)
		{
			if(Debug)
				echo  mysql_error() . " @ function get_filhos <br />";
			echo 'Por motivos técnicos não foi possível processar o seu pedido, por favor informe o administrador se o erro persistir';
			die();
			exit;
		}
		
		if(mysql_num_rows($result) == 0)
		{
			return;
		}
		
		$contents = Array();
		while($row = mysql_fetch_array($result, MYSQL_ASSOC))
		{
			$contents[] = $row;
		}
		
		return $contents;
	}
	
	function GetById($id)
	{
		$query = "SELECT * FROM " . $this->t_cadeiras . " WHERE id='" . $id . "'";
		$result = mysql_query($query);
		if(!$result)
		{
			if(Debug)
				echo  mysql_error() . " @ function get_filhos <br />";
			echo 'Por motivos técnicos não foi possível processar o seu pedido, por favor informe o administrador se o erro persistir';
			die();
			exit;
		}
		
		if(mysql_num_rows($result) != 1)
		{
			return;
		}
		
		return mysql_fetch_array($result, MYSQL_ASSOC);
	}
	
	function adiciona($data)
	{
		// começamos pelas informações basicas da cadeira
		$sql = "INSERT INTO " . $this->t_cadeiras .
		"(
			nome,
  			sort_order,
  			link_tit,
  			descricao,
  			miniatura,
  			destaque,
  			data_modificado,
  			data_adicionada
		) VALUES ('" .
			$data['nome'] . "', '" .
			$data['sort_order'] . "', '" .
			$data['link_tit'] . "', '" .
			$data['descricao'] . "', '" .
			$_FILES['miniatura']['name'] . "', '" .
			$_FILES['destaque']['name'] . "', " .
			"NOW(), " .  
			"NOW() " .  
		")";
			
		$result = mysql_query($sql);
		if(!$result)
		{
			if(Debug)
				echo  mysql_error() . " @ function adicionar class cadeira, Não foi possivel inserir info basica <br />";
			echo 'Por motivos técnicos não foi possível processar o seu pedido, por favor informe o administrador se o erro persistir';
			die();
			exit;
			return 0;
		}
		
		$result = mysql_query("SELECT MAX(ID) AS LAST_ID FROM $this->t_cadeiras");
		$ultimo_id = mysql_fetch_array($result);
		$ultimo_id = $ultimo_id['LAST_ID'];
		if(!$ultimo_id)
		{
			if(Debug)
				echo  mysql_error() . " @ function adicionar class cadeira, get last id <br />";
			echo 'Por motivos técnicos não foi possível processar o seu pedido, por favor informe o administrador se o erro persistir';
			die();
			exit;
			return 0;
		}
		
		//Criar a pasta
		if(!is_dir( framework_dir . "/public/cadeiras/" . $ultimo_id  ))
		{
			$mypath=framework_dir . "/public/cadeiras/" . $ultimo_id;
			mkdir($mypath,0777,TRUE);
		}
		
		//mover o ficheiro da miniatura
		$target_path = $mypath  . "/" . $_FILES['miniatura']['name'];
    	if(!move_uploaded_file($_FILES['miniatura']['tmp_name'], $target_path))
		{
			//echo "Erro a carregar o ficheiro miniatura";
		}
		
		//mover o ficheiro do destaque
		$target_path = $mypath  . "/" . $_FILES['destaque']['name'];
    	if(!move_uploaded_file($_FILES['img_destaque']['tmp_name'], $target_path))
		{
			//echo "Erro a carregar o ficheiro destaque";
		}
		
		return $ultimo_id;
	}
	
	function remove($id)
	{
		// começamos pelas informações basicas da cadeira
		$sql = "DELETE FROM " . $this->t_cadeiras . " WHERE id='" . $id . "'";
			
		$result = mysql_query($sql);
		if(!$result)
		{
			if(Debug)
				echo  mysql_error() . " @ function remover class cadeira, Não foi possivel remover info basica <br />";
			echo 'Por motivos técnicos não foi possível processar o seu pedido, por favor informe o administrador se o erro persistir';
			die();
			exit;
			return 0;
		}
		
		if(is_numeric($id))
			eliminarDirectorio(framework_dir . "/public/cadeiras/" . $id, 1); 
		return $ultimo_id;
	}
	
	function update($id, $data)
	{
		
		// começamos pelas informações basicas da cadeira
		$sql = "UPDATE " . $this->t_cadeiras .
		" SET " .
			"nome='" . addslashes($data['nome']) . "',
  			sort_order='" . addslashes($data['sort_order']) . "',
  			link_tit='" . addslashes($data['link_tit']) . "',
  			descricao='" . addslashes($data['descricao']) . "', " .
  			($_FILES['miniatura']['name'] ? "miniatura='" . $_FILES['miniatura']['name'] . "', ": "") .
  			($_FILES['destaque']['name'] ? "destaque='" . $_FILES['destaque']['name'] . "', ": "") .
  			"data_modificado=NOW() " . 
  			"WHERE id='" . $id . "'";
		
			
		$result = mysql_query($sql);
		if(!$result)
		{
			if(Debug)
				echo  mysql_error() . " @ function update class cadeira, Não foi possivel inserir info basica <br />";
			echo 'Por motivos técnicos não foi possível processar o seu pedido, por favor informe o administrador se o erro persistir';
			die();
			exit;
			return 0;
		}
		
		$result = mysql_query("SELECT MAX(ID) AS LAST_ID FROM $this->t_cadeiras");
		$ultimo_id = mysql_fetch_array($result);
		$ultimo_id = $ultimo_id['LAST_ID'];
		if(!$ultimo_id)
		{
			if(Debug)
				echo  mysql_error() . " @ function adicionar class cadeira, get last id <br />";
			echo 'Por motivos técnicos não foi possível processar o seu pedido, por favor informe o administrador se o erro persistir';
			die();
			exit;
			return 0;
		}
		
		//Criar a pasta
		if(!is_dir( framework_dir . "/public/cadeiras/" . $id  ))
		{
			$mypath=framework_dir . "/public/cadeiras/" . $id;
			mkdir($mypath,0777,TRUE);
		} else {
			$mypath=framework_dir . "/public/cadeiras/" . $id;
		}
		
		//mover o ficheiro da miniatura
		if(isset($_FILES['miniatura']['name']))
		{
			$target_path = $mypath  . "/" . $_FILES['miniatura']['name'];
    		if(!move_uploaded_file($_FILES['miniatura']['tmp_name'], $target_path))
			{
				//echo "Erro a carregar o ficheiro miniatura";
			}
		}
		
		//mover o ficheiro do destaque
		if(isset($_FILES['destaque']['name']))
		{
			$target_path = $mypath  . "/" . $_FILES['destaque']['name'];
    		if(!move_uploaded_file($_FILES['destaque']['tmp_name'], $target_path))
			{
				//echo "Erro a carregar o ficheiro destaque";
			}
		}
		
		return 1;
	}
}
?>
